File manager - Edit - /home/autoph/public_html/projects/app/Http/Controllers/API/v1/TimelogEditController.php
Back
<?php namespace App\Http\Controllers\API\v1; use App\Http\Controllers\Controller; use App\Models\TimelogEdit; use App\Models\ProcessedTimelog; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; use Illuminate\Validation\Rule; use PHPUnit\Event\Code\Throwable; class TimelogEditController extends Controller { public function index(Request $request) { // $keyword = $request->input('keyword', ''); $perPage = $request->input('per_page',PHP_INT_MAX); $sortBy = $request->input('sortBy', ''); $sortType = $request->input('sortType', ''); $data = TimelogEdit::with(['employee','requested_by']) ->where(function ($query) use ($keyword) { $keyword = str_replace(" ", "%", $keyword); $query->where('employee_id', 'like', $keyword . '%')->orWhere('date', 'like', $keyword . '%'); }); if (!empty($sortBy) && !empty($sortType)) { $data = $data->orderBy($sortBy, $sortType); } $data = $data->paginate($perPage); return response()->json($data); } public function approve(int $id) { $data = TimelogEdit::find($id); /** If no record found return with error message */ if (!$data) { return response()->json([ 'status' => false, 'message' => 'Record not found!', ], 422); } DB::beginTransaction(); try { $data->fill([ 'approved' => 1, 'approved_by' => auth()->user()->employee_id, 'approved_at' => $this->current_datetime, ]); $data->touch(); $data->save(); $where = [ 'payroll_date' => $data->payroll_date, 'company_id' => $data->company_id, 'dealership_id' => $data->dealership_id, 'employee_id' => $data->employee_id, 'date' => $data->date, 'in_out' => $data->in_out, ]; $updateData =[ 'payroll_date' => $data->payroll_date, 'company_id' => $data->company_id, 'dealership_id' => $data->dealership_id, 'department_id' => $data->department_id, 'employee_id' => $data->employee_id, 'date' => $data->date, 'time' => $data->time, 'in_out' => $data->in_out, ]; $timelog = ProcessedTimelog::where($where)->first(); if(!is_null($timelog)) { ProcessedTimelog::where($where)->update($updateData); } else { ProcessedTimelog::create($updateData); } DB::commit(); return response()->json([ 'message' => 'Record Successfully approved!', 'status' => 'success', ],201); } catch (Throwable $e) { DB::rollback(); return response()->json([ 'status' => false, 'message' => 'Unable to process request. Please try again.', 'data' => $e->getMessage() ]); } } public function destroy(int $id) { $data = TimelogEdit::find($id); if(!$data) { return response()->json(['message' => "Record not found!"],204); } DB::connection()->beginTransaction(); $data->delete(); DB::connection()->commit(); return response()->json(['message' => "Record successfully deleted!"],201); } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings